From: Timo Röhling Date: Tue, 25 Jan 2022 21:12:05 +0000 (+0100) Subject: Guard against multiple inclusions X-Git-Tag: archive/raspbian/1.9.25+dfsg3-1+rpi1^2~82 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22Program/%22http:/www.example.com/cgi/%22https:/%22Program?a=commitdiff_plain;h=6ab8c636236deed2cc2ebdb3bf377bd4a1271522;p=filament.git Guard against multiple inclusions Gbp-Dch: ignore --- diff --git a/debian/cmake/benchmark.cmake b/debian/cmake/benchmark.cmake index 0c0f551..1d00c46 100644 --- a/debian/cmake/benchmark.cmake +++ b/debian/cmake/benchmark.cmake @@ -1,5 +1,9 @@ find_package(benchmark REQUIRED) -add_library(benchmark INTERFACE) -target_link_libraries(benchmark INTERFACE benchmark::benchmark) -add_library(benchmark_main INTERFACE) -target_link_libraries(benchmark_main INTERFACE benchmark::benchmark_main) +if(NOT TARGET benchmark) + add_library(benchmark INTERFACE) + target_link_libraries(benchmark INTERFACE benchmark::benchmark) +endif() +if(NOT TARGET benchmark_main) + add_library(benchmark_main INTERFACE) + target_link_libraries(benchmark_main INTERFACE benchmark::benchmark_main) +endif() diff --git a/debian/cmake/glslang.cmake b/debian/cmake/glslang.cmake index eeb6d9a..fe07c7a 100644 --- a/debian/cmake/glslang.cmake +++ b/debian/cmake/glslang.cmake @@ -1,12 +1,14 @@ # Empty find_package(PkgConfig REQUIRED) -pkg_check_modules(glslang REQUIRED IMPORTED_TARGET spirv glslang) -add_library(glslang INTERFACE) -target_include_directories(glslang INTERFACE - /usr/include/glslang/Public - /usr/include/glslang/Include - /usr/include/glslang/MachineIndependent - /usr/include/glslang/SPIRV - ) -set_property(TARGET PkgConfig::glslang APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${STDCXX_LIBRARY}) -target_link_libraries(glslang INTERFACE PkgConfig::glslang) +if(NOT TARGET glslang) + pkg_check_modules(glslang REQUIRED IMPORTED_TARGET spirv glslang) + add_library(glslang INTERFACE) + target_include_directories(glslang INTERFACE + /usr/include/glslang/Public + /usr/include/glslang/Include + /usr/include/glslang/MachineIndependent + /usr/include/glslang/SPIRV + ) + set_property(TARGET PkgConfig::glslang APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${STDCXX_LIBRARY}) + target_link_libraries(glslang INTERFACE PkgConfig::glslang) +endif() diff --git a/debian/cmake/imgui.cmake b/debian/cmake/imgui.cmake index 1c3c96a..032665d 100644 --- a/debian/cmake/imgui.cmake +++ b/debian/cmake/imgui.cmake @@ -1,9 +1,11 @@ -find_path(imgui_INCLUDE_DIR NAMES imgui.h PATH_SUFFIXES imgui) -find_library(imgui_LIBRARY NAMES imgui) -if(imgui_INCLUDE_DIR AND imgui_LIBRARY) - add_library(filament::imgui INTERFACE IMPORTED) - set_target_properties(filament::imgui PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${imgui_INCLUDE_DIR}" - INTERFACE_LINK_LIBRARIES "${imgui_LIBRARY}" - ) +if(NOT TARGET filament::imgui) + find_path(imgui_INCLUDE_DIR NAMES imgui.h PATH_SUFFIXES imgui) + find_library(imgui_LIBRARY NAMES imgui) + if(imgui_INCLUDE_DIR AND imgui_LIBRARY) + add_library(filament::imgui INTERFACE IMPORTED) + set_target_properties(filament::imgui PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${imgui_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${imgui_LIBRARY}" + ) + endif() endif() diff --git a/debian/cmake/jsmn.cmake b/debian/cmake/jsmn.cmake index c965e75..039883d 100644 --- a/debian/cmake/jsmn.cmake +++ b/debian/cmake/jsmn.cmake @@ -1,3 +1,6 @@ -find_path(jsmn_INCLUDE_DIR NAMES jsmn.h) -add_library(jsmn INTERFACE) -target_include_directories(jsmn INTERFACE ${jsmn_INCLUDE_DIR}) +if(NOT TARGET jsm) + find_path(jsmn_INCLUDE_DIR NAMES jsmn.h) + add_library(jsmn INTERFACE) + target_include_directories(jsmn INTERFACE ${jsmn_INCLUDE_DIR}) +endif() + diff --git a/debian/cmake/libassimp.cmake b/debian/cmake/libassimp.cmake index 9e5e166..d8e2cb8 100644 --- a/debian/cmake/libassimp.cmake +++ b/debian/cmake/libassimp.cmake @@ -1,6 +1,9 @@ # find_package(assimp) and target assimp::assimp is broken, so we do this manually -find_path(assimp_INCLUDE_DIR NAMES assimp/version.h) -find_library(assimp_LIBRARY NAMES assimp) -add_library(assimp INTERFACE) -target_include_directories(assimp INTERFACE ${assimp_INCLUDE_DIR}) -target_link_libraries(assimp INTERFACE ${assimp_LIBRARY}) +if(NOT TARGET assimp) + find_path(assimp_INCLUDE_DIR NAMES assimp/version.h) + find_library(assimp_LIBRARY NAMES assimp) + add_library(assimp INTERFACE) + target_include_directories(assimp INTERFACE ${assimp_INCLUDE_DIR}) + target_link_libraries(assimp INTERFACE ${assimp_LIBRARY}) +endif() + diff --git a/debian/cmake/spirv-cross.cmake b/debian/cmake/spirv-cross.cmake index 117bb7f..62a36ec 100644 --- a/debian/cmake/spirv-cross.cmake +++ b/debian/cmake/spirv-cross.cmake @@ -1,5 +1,7 @@ find_package(spirv_cross_c_shared REQUIRED) find_package(spirv_cross_cpp REQUIRED) -add_library(spirv-cross INTERFACE) -target_link_libraries(spirv-cross INTERFACE spirv-cross-cpp spirv-cross-c-shared) +if(NOT TARGET spirv-cross) + add_library(spirv-cross INTERFACE) + target_link_libraries(spirv-cross INTERFACE spirv-cross-cpp spirv-cross-c-shared) +endif() diff --git a/debian/cmake/spirv-tools.cmake b/debian/cmake/spirv-tools.cmake index 8b9f6af..9745c09 100644 --- a/debian/cmake/spirv-tools.cmake +++ b/debian/cmake/spirv-tools.cmake @@ -1,4 +1,7 @@ -find_package(PkgConfig REQUIRED) -pkg_check_modules(SPIRV-Tools REQUIRED IMPORTED_TARGET SPIRV-Tools) -add_library(SPIRV-Tools-opt INTERFACE) -target_link_libraries(SPIRV-Tools-opt INTERFACE PkgConfig::SPIRV-Tools) +if(NOT TARGET SPIRV-Tools-opt) + find_package(PkgConfig REQUIRED) + pkg_check_modules(SPIRV-Tools REQUIRED IMPORTED_TARGET SPIRV-Tools) + add_library(SPIRV-Tools-opt INTERFACE) + target_link_libraries(SPIRV-Tools-opt INTERFACE PkgConfig::SPIRV-Tools) +endif() + diff --git a/debian/cmake/stb.cmake b/debian/cmake/stb.cmake index 648673c..f4a2d01 100644 --- a/debian/cmake/stb.cmake +++ b/debian/cmake/stb.cmake @@ -1,9 +1,11 @@ -find_path(stb_INCLUDE_DIR NAMES stb.h PATH_SUFFIXES stb) -find_library(stb_LIBRARY NAMES stb) -if(stb_INCLUDE_DIR AND stb_LIBRARY) - add_library(filament::stb INTERFACE IMPORTED) - set_target_properties(filament::stb PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${stb_INCLUDE_DIR}" - INTERFACE_LINK_LIBRARIES "${stb_LIBRARY}" - ) +if(NOT TARGET filament::stb) + find_path(stb_INCLUDE_DIR NAMES stb.h PATH_SUFFIXES stb) + find_library(stb_LIBRARY NAMES stb) + if(stb_INCLUDE_DIR AND stb_LIBRARY) + add_library(filament::stb INTERFACE IMPORTED) + set_target_properties(filament::stb PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${stb_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${stb_LIBRARY}" + ) + endif() endif()